<?xml version="1.0" encoding="UTF-8"?>
<html filename="docs/SAX/IDocumentHandler.html">
<body>
<a id="#top"/>
<h1>
	                Interface Summary : IDocumentHandler </h1> Receive notification of general document events.

 <blockquote>
 <em>This module, both source code and documentation, is in the
 Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
 </blockquote>

 <p>This was the main event-handling interface for SAX1; in
 SAX2, it has been replaced by <a href="../SAX/IContentHandler.html">
 IContentHandler</a>, which provides Namespace support and reporting
 of skipped entities.  This interface is included in SAX2 only
 to support legacy SAX1 applications.</p>

 <p>The order of events in this interface is very important, and
 mirrors the order of information in the document itself.  For
 example, all of an element's content (character data, processing
 instructions, and/or subelements) will appear, in order, between
 the startElement event and the corresponding endElement event.</p>

 <p>No default implementation is provided for this interface
 The application can find
 the location of any document event using the ILocator interface
 supplied by the IParser through the setDocumentLocator method.</p>

<br/><b>Deprecated : </b> This interface has been replaced by the SAX2
             <a href="../SAX/IContentHandler.html">IContentHandler</a>
             interface, which includes Namespace support.
<br/><b>Since : </b> SAX 1.0
<br/><b>See : </b> <a href="../SAX/IParser.html#setDocumentHandler">IParser.setDocumentHandler</a>
<br/><b>See : </b> <a href="../SAX/ILocator.html">ILocator</a>
<h2>
	              Methods
	            </h2>
<div style="padding-left:10px">
<a href="#setDocumentLocator">
	                  procedure
	                 setDocumentLocator(ILocator)</a>
<br/>
<a href="#startDocument">
	                  procedure
	                 startDocument()</a>
<br/>
<a href="#endDocument">
	                  procedure
	                 endDocument()</a>
<br/>
<a href="#startElement">
	                  procedure
	                 startElement(SAXString, IAttributeList)</a>
<br/>
<a href="#endElement">
	                  procedure
	                 endElement(SAXString)</a>
<br/>
<a href="#characters">
	                  procedure
	                 characters(SAXString)</a>
<br/>
<a href="#ignorableWhitespace">
	                  procedure
	                 ignorableWhitespace(SAXString)</a>
<br/>
<a href="#processingInstruction">
	                  procedure
	                 processingInstruction(SAXString, SAXString)</a>
<br/>
</div>
<br/>
<hr width="100%"/>
<a name="#setDocumentLocator">
<p>
<b>procedure</b> setDocumentLocator(<b>const</b> locator : ILocator); </p>
</a> Receive an object for locating the origin of SAX document events.

 <p>SAX parsers are strongly encouraged (though not absolutely
 required) to supply a locator: if it does so, it must supply
 the locator to the application by invoking this method before
 invoking any of the other methods in the IDocumentHandler
 interface.</p>

 <p>The locator allows the application to determine the end
 position of any document-related event, even if the parser is
 not reporting an error.  Typically, the application will
 use this information for reporting its own errors (such as
 character content that does not match an application's
 business rules).  The information returned by the locator
 is probably not sufficient for use with a search engine.</p>

 <p>Note that the locator will return correct information only
 during the invocation of the events in this interface.  The
 application should not attempt to use it at any other time.</p>

<br/><b>Parameter : </b> locator An object that can return the location of
                any SAX document event.
<br/><b>See : </b> <a href="../SAX/ILocator.html">ILocator</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#startDocument">
<p>
<b>procedure</b> startDocument(); </p>
</a> Receive notification of the beginning of a document.

 <p>The SAX parser will invoke this method only once, before any
 other methods in this interface or in IDTDHandler (except for
 setDocumentLocator).</p>

<br/><b>Exception : </b> ESAXException Any SAX exception.
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#endDocument">
<p>
<b>procedure</b> endDocument(); </p>
</a> Receive notification of the end of a document.

 <p>The SAX parser will invoke this method only once, and it will
 be the last method invoked during the parse.  The parser shall
 not invoke this method until it has either abandoned parsing
 (because of an unrecoverable error) or reached the end of
 input.</p>

<br/><b>Exception : </b> ESAXException Any SAX exception.
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#startElement">
<p>
<b>procedure</b> startElement(<b>const</b> name : SAXString; <b>const</b> atts : IAttributeList); </p>
</a> Receive notification of the beginning of an element.

 <p>The Parser will invoke this method at the beginning of every
 element in the XML document; there will be a corresponding
 endElement() event for every startElement() event (even when the
 element is empty). All of the element's content will be
 reported, in order, before the corresponding endElement()
 event.</p>

 <p>If the element name has a namespace prefix, the prefix will
 still be attached.  Note that the attribute list provided will
 contain only attributes with explicit values (specified or
 defaulted): #IMPLIED attributes will be omitted.</p>

<br/><b>Parameter : </b> name The element type name.
<br/><b>Parameter : </b> atts The attributes attached to the element, if any.
<br/><b>Exception : </b> ESAXException Any SAX exception.
<br/><b>See : </b> <a href="../SAX/IDocumentHandler.html#endElement">IDocumentHandler.endElement</a>
<br/><b>See : </b> <a href="../SAX/IAttributeList.html">IAttributeList</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#endElement">
<p>
<b>procedure</b> endElement(<b>const</b> name : SAXString); </p>
</a> Receive notification of the end of an element.

 <p>The SAX parser will invoke this method at the end of every
 element in the XML document; there will be a corresponding
 startElement() event for every endElement() event (even when the
 element is empty).</p>

 <p>If the element name has a namespace prefix, the prefix will
 still be attached to the name.</p>

<br/><b>Parameter : </b> name The element type name
<br/><b>Exception : </b> ESAXException Any SAX exception.
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#characters">
<p>
<b>procedure</b> characters(<b>const</b> ch : SAXString); </p>
</a> Receive notification of character data.

 <p>The Parser will call this method to report each chunk of
 character data.  SAX parsers may return all contiguous character
 data in a single chunk, or they may split it into several
 chunks; however, all of the characters in any single event
 must come from the same external entity, so that the Locator
 provides useful information.</p>

 <p>The application must not attempt to read from the array
 outside of the specified range.</p>

 <p>Note that some parsers will report whitespace using the
 ignorableWhitespace() method rather than this one (validating
 parsers must do so).</p>

<br/><b>Parameter : </b> ch The characters from the XML document.
<br/><b>Exception : </b> ESAXException Any SAX exception.
<br/><b>See : </b> <a href="../SAX/IDocumentHandler.html#ignorableWhitespace">IDocumentHandler.ignorableWhitespace</a>
<br/><b>See : </b> <a href="../SAX/ILocator.html">ILocator</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#ignorableWhitespace">
<p>
<b>procedure</b> ignorableWhitespace(<b>const</b> ch : SAXString); </p>
</a> Receive notification of ignorable whitespace in element content.

 <p>Validating Parsers must use this method to report each chunk
 of ignorable whitespace (see the W3C XML 1.0 recommendation,
 section 2.10): non-validating parsers may also use this method
 if they are capable of parsing and using content models.</p>

 <p>SAX parsers may return all contiguous whitespace in a single
 chunk, or they may split it into several chunks; however, all of
 the characters in any single event must come from the same
 external entity, so that the Locator provides useful
 information.</p>

 <p>The application must not attempt to read from the array
 outside of the specified range.</p>

<br/><b>Parameter : </b> ch The characters from the XML document.
<br/><b>Exception : </b> ESAXException Any SAX exception.
<br/><b>See : </b> <a href="../SAX/IDocumentHandler.html#characters">IDocumentHandler.characters</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#processingInstruction">
<p>
<b>procedure</b> processingInstruction(<b>const</b> target : SAXString; <b>const</b> data : SAXString); </p>
</a> Receive notification of a processing instruction.

 <p>The Parser will invoke this method once for each processing
 instruction found: note that processing instructions may occur
 before or after the main document element.</p>

 <p>A SAX parser should never report an XML declaration (XML 1.0,
 section 2.8) or a text declaration (XML 1.0, section 4.3.1)
 using this method.</p>

<br/><b>Parameter : </b> target The processing instruction target.
<br/><b>Parameter : </b> data The processing instruction data, or an empty string if
        none was supplied.
<br/><b>Exception : </b> ESAXException Any SAX exception.
<br/>
<p>
<a href="#top">Top</a>
</p>
</body>
</html>